package com.shuiyun.jtt.entity.form;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.shuiyun.jtt.utils.codec.DataType;
import com.shuiyun.jtt.utils.codec.FieldValue;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author shuiyun
 * @program gateway
 * @description 设置汽车行驶记录仪参数
 * @date 2022-05-15 23:49
 **/
@EqualsAndHashCode(callSuper = true)
@Data
public class T8701Form extends BaseForm{

    /**
     * 采集记录仪执行标准版本(00H)
     * 采集当前驾驶人信息(01H)
     * 采集记录仪的实时时间 (02H)
     * 采集累计行驶里程(03H)
     * 采集记录仪脉冲系数(04H)
     * 采集车辆信息(05H)
     * 采集记录仪状态信号配置信息(06H)
     * 采集记录仪唯一性编号 (07H)
     * 采集指定的行驶速度记录(08H)
     * 采集指定的位置信息记录(09H)
     * 采集指定的事故疑点记录(10H)
     * 采集指定的超时驾驶记录(11H)
     * 采集指定的驾驶人身份记录(12H)
     * 采集指定的记录仪外部供电记录(13H)
     * 采集指定的记录仪参数修改记录(14H)
     * 采集指定的速度状态日志(15H)
     */
    @ApiModelProperty(value = "命令字",example = "1",notes = "采集记录仪执行标准版本(00H)\n 采集当前驾驶人信息(01H)\n采集记录仪的实时时间 (02H)\n采集累计行驶里程(03H)\n采集记录仪脉冲系数(04H)\n采集车辆信息(05H)\n采集记录仪状态信号配置信息(06H)\n 采集记录仪唯一性编号 (07H)\n采集指定的行驶速度记录(08H)\n 采集指定的位置信息记录(09H)\n 采集指定的事故疑点记录(10H)\n 采集指定的超时驾驶记录(11H)\n 采集指定的驾驶人身份记录(12H)\n采集指定的记录仪外部供电记录(13H)\n 采集指定的记录仪参数修改记录(14H)\n 采集指定的速度状态日志(15H)\n ")
    private Integer command;

    @ApiModelProperty(value = "车辆识别号",example = "LSYYDACKX9K108573",notes = "车架号一般17位")
    private String vin;

    @ApiModelProperty(value = "车牌号",example = "川A10781")
    private String plateNo;

    @ApiModelProperty(value = "车牌号分类",example = "蓝底白字")
    private String plateCategory;

    @ApiModelProperty(value = "初次安装时间",example = "2022-05-14 00:00:00",notes = "yyyy-MM-dd HH:mm:ss 命令08H~15H需要该字段")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date installTime;

    @ApiModelProperty(value = "d0",example = "自定义1")
    private String d0;

    @ApiModelProperty(value = "d1",example = "自定义2")
    private String d1;

    @ApiModelProperty(value = "d2",example = "自定义3")
    private String d2;

    @ApiModelProperty(value = "d3",example = "近光")
    private String d3;

    @ApiModelProperty(value = "d4",example = "远光")
    private String d4;

    @ApiModelProperty(value = "d5",example = "右转向")
    private String d5;

    @ApiModelProperty(value = "d6",example = "左转向")
    private String d6;

    @ApiModelProperty(value = "d7",example = "制动")
    private String d7;

    @ApiModelProperty(value = "脉冲系数",example = "10",notes = "车速传感器在车辆行驶1km距离过程中产生的脉冲信号个数")
    private Integer pulseFactor;

    @ApiModelProperty(value = "初始里程",example = "10000",notes = "初次安装设备的里程数")
    private Integer initialMileage;

    @ApiModelProperty(value = "累计里程",example = "10000",notes = "车辆累计里程数")
    private Integer cumulativeMileage;
}
